概览
aos 使用了与众不同的方式构建进程与合约,ao 计算机是一个去中心的计算机网络,可以在任何地方进行计算,aos 是一个统一的交互终端。 你可以使用 aos 作为你的个人操作系统、构建 ao 进程的开发环境、以及创建您的机器人军团。
让我们来回顾一些基本指令。
变量
如果你想通过控制台显示变量的内容,可以直接输入变量的名称
lua
Name
收件箱 (Inbox)
收件箱 (Inbox)
是你进程收到的消息集合。
lua
Inbox[1]
如果您想查看消息个数,在 Inbox
前面加入 #
符号
lua
#Inbox
查看收件箱的消息个数是个非常常见的功能,为了更简单,您可以创建一个函数,返回收件箱的消息个数并显示出来。
使用 .editor
或者 .load file
来将这个函数加载到您的进程。
lua
function Prompt()
return "Inbox: " .. #Inbox .. " > "
end
预期的结果:
sh
undefined
Inbox: 2 >
您的 Prompt 函数已经可以显示收件箱中的消息数量。
全局定义
aos 中定义了一些全局变量、函数可以让开发变得更加直观。
名称 | 描述 | 类型 |
---|---|---|
Inbox | 这是一个 lua 表,存储所有接收到的消息 | Table(Array) |
Send(Message) | 这是交互环境中使用的全局函数,可以向其他进程发送消息 | function |
Spawn(Module, Message) | 这是 aos 中的全局函数,可以创建一个进程 | |
Name | 初始化您的进程名称 | string |
Owner | 这个字符串标识了进程的所有者,如果修改这个字段,可能会影响您与进程交互的能力 | string |
Handlers | 一个 lua 表,可以让您创建消息的处理函数 | table |
Dump | 接受 lua 中的表(Table)类型,并打印用户友好的数据内容 | function |
Utils | 一个功能实用库,具有map、reduce、filter等功能 | module |
ao | 这是用于发送消息和生成进程的核心函数库 | module |
模块
在aos中,有一些内置的 lua 模块可以使用,这些模块可以通过“require”函数引用。
名称 | 描述 |
---|---|
json | json 数据的编码和解码 |
ao | ao 核心函数库,包括 send 、 spawn |
.base64 | base64 数据的编解码 |
.pretty | 格式化输出数据,使用 tprint 函数格式化数据 |
.utils | 一个实用工具库 |